import { Entity, Column, PrimaryGeneratedColumn, CreateDateColumn, UpdateDateColumn } from 'typeorm';
// @Entity('table_name')：指定映射的表名。
// @PrimaryGeneratedColumn()：主键，uuid 表示生成 UUID 格式（也可用 increment 自增数字）。
// @Column()：定义字段，可指定类型、长度、唯一性等约束。
// @CreateDateColumn() /@UpdateDateColumn()：自动记录创建 / 更新时间。

/**
 * ? 商品实体
 * ! 商品表，存储商品相关信息
 * * 映射到数据库的 "goods" 表
 */
@Entity('goods')
export class GoodsEntity {
  @PrimaryGeneratedColumn('increment')
  id: number;

  @Column({ length: 12, comment: '商品名称' })
  name: string;

  @Column({ length: 255, comment: '商品描述' })
  description: string;

  @Column({ length: 255, comment: '商品主图' })
  thumb: string;

  @Column({ length: 255, comment: '商品价格' })
  price: string;

  @Column({ length: 255, comment: '商品旧价格', default: null })
  old_price?: string;

  @Column({ length: 255, comment: '商品库存' })
  stock: string;

  @Column({ length: 255, comment: '商品轮播图' })
  images: string;

  @Column({ length: 255, comment: '商品状态', default: '0' })
  status?: string;

  @Column({ length: 255, comment: '商品分类ID' })
  category_id: string;

  @Column({ length: 255, comment: '商品规格', default: null })
  specs: string;

  @Column({ length: 255, comment: '商品销售量', default: '0' })
  sales: string;

  @Column({ length: 255, comment: '商品虚拟销售量', default: '0' })
  v_sales: string;

  @Column({ length: 255, comment: '商品是否推荐', default: '0' })
  is_recommend: string;

  @Column({ length: 255, comment: '商品是否新品', default: '0' })
  is_new: string;

  @Column({ length: 255, comment: '商品是否热卖', default: '0' })
  is_hot: string;

  @CreateDateColumn({ comment: '创建时间' })
  created_at: Date;

  @UpdateDateColumn({ comment: '更新时间' })
  updated_at: Date;

}